<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Unix Domain Socket</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Unix_Domain_Socket"> <link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Unix_Domain_Socket rootpage-Unix_Domain_Socket skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Unix Domain Socket</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p><b>POSIX local inter-process communication sockets</b> (auch <b>Unix Domain Socket</b> oder <b>IPC Socket</b>) sind Endpunkte von bidirektionalen Kommunikationsverbindungen bei der lokalen <a href="Interprozesskommunikation" title="Interprozesskommunikation">Interprozesskommunikation</a> (IPC) unter <a href="Unixoides_System" title="Unixoides System">Unix-Betriebssystemen</a>. Die Kommunikation über diese <a href="Socket_(Software)" class="mw-redirect" title="Socket (Software)">Sockets</a> ist die im <a href="Portable_Operating_System_Interface" class="mw-redirect" title="Portable Operating System Interface">POSIX</a>-Standard standardisierte Methode zur Interprozesskommunikation für Unix-ähnliche Systeme.
Entsprechend der <a href="Unix-Philosophie" title="Unix-Philosophie">Unix-Philosophie</a> („<a href="Everything_is_a_file" title="Everything is a file">alles ist eine Datei</a>“) sind Sockets über einen <a href="Inode" title="Inode">Inode</a> im Dateisystem adressierbar und werden mit denselben Befehlen angesprochen wie gewöhnliche Dateien. Um zu kommunizieren, öffnen zwei Prozesse denselben Socket. Die Daten fließen als Bytestrom über <a href="Puffer_(Informatik)" title="Puffer (Informatik)">Pufferspeicher</a> im Speicher des <a href="Kernel_(Betriebssystem)" title="Kernel (Betriebssystem)">Kernels</a>.
Neben Daten können über die Socketverbindungen mit den <a href="Systemaufruf" title="Systemaufruf">Systemaufrufen</a> <i>sendmsg()</i> und <i>recvmsg()</i> auch <a href="Datei-Handle" class="mw-redirect" title="Datei-Handle">Datei-Handles</a> übertragen werden.
</p>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li>W. Richard Stevens, Bill Fenner, Andrew M. Rudoff: <cite class="lang" lang="en" dir="auto" style="font-style:italic">UNIX Network Programming. The Sockets Networking API</cite>. 3. Auflage. <span style="white-space:nowrap">Band<span style="display:inline-block;width:.2em"> </span>1</span>. Addison Wesley, 2004, ISBN 0-13-141155-1, 15. Unix Domain Protocols, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em"> </span>411–433</span> (englisch).<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abookitem&rfr_id=info:sid/de.wikipedia.org:Unix+Domain+Socket&rft.atitle=15.+Unix+Domain+Protocols&rft.au=W.+Richard+Stevens%2C+Bill+Fenner%2C+Andrew+M.+Rudoff&rft.btitle=UNIX+Network+Programming.+The+Sockets+Networking+API&rft.date=2004&rft.edition=3.&rft.genre=bookitem&rft.isbn=0131411551&rft.pages=411-433&rft.pub=Addison+Wesley&rft.volume=1" style="display:none"> </span></li>
<li>W. Richard Stevens, Stephen A. Rago: <cite class="lang" lang="en" dir="auto" style="font-style:italic">Advanced Programming in the UNIX Environment</cite>. 2. Auflage. Addison Wesley, 2005, ISBN 0-321-52594-9, 17.3 UNIX Domain Sockets, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em"> </span>594–601</span> (englisch).<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abookitem&rfr_id=info:sid/de.wikipedia.org:Unix+Domain+Socket&rft.atitle=17.3+UNIX+Domain+Sockets&rft.au=W.+Richard+Stevens%2C+Stephen+A.+Rago&rft.btitle=Advanced+Programming+in+the+UNIX+Environment&rft.date=2005&rft.edition=2.&rft.genre=bookitem&rft.isbn=0321525949&rft.pages=594-601&rft.pub=Addison+Wesley" style="display:none"> </span></li>
<li>Johannes Plötner, Steffen Wendzel: <cite style="font-style:italic">Linux. Das umfassende Handbuch</cite>. 5. Auflage. Galileo, 2012, ISBN 978-3-8362-1822-1 (<a rel="nofollow" class="external text" href="http://openbook.galileocomputing.de/linux">Inhaltsverzeichnis</a> – <a rel="nofollow" class="external text" href="http://openbook.galileocomputing.de/linux/linux_kap26_006.html#dodtpd8ae8f81-efba-4153-a66d-a36a74022be4">26.6.5 Unix-Domain-Sockets</a>).<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rfr_id=info:sid/de.wikipedia.org:Unix+Domain+Socket&rft.au=Johannes+Pl%C3%B6tner%2C+Steffen+Wendzel&rft.btitle=Linux.+Das+umfassende+Handbuch&rft.date=2012&rft.edition=5.&rft.genre=book&rft.isbn=9783836218221&rft.pub=Galileo" style="display:none"> </span></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><code><a rel="nofollow" class="external text" href="http://manpages.debian.org/cgi-bin/man.cgi?apropos=0&format=html&query=socketpair&sektion=2&locale=de">socketpair(2)</a></code>: zwei verbundene Sockets erstellen – <a href="Debian" title="Debian">Debian GNU/Linux</a> Systemaufrufe <a href="Manpage" title="Manpage">Handbuchseite</a></li>
<li><code><a rel="nofollow" class="external text" href="https://man.openbsd.org/cgi-bin/man.cgi?query=socketpair&sec=2">socketpair(2)</a></code>: create a pair of connected sockets – <a href="OpenBSD" title="OpenBSD">OpenBSD</a> System Calls <a href="Manpage" title="Manpage">Manual</a> (Erzeugen miteinander verbundener Sockets)</li>
<li><code><a rel="nofollow" class="external text" href="https://man.openbsd.org/cgi-bin/man.cgi?query=sendmsg&sec=2">sendmsg(2)</a></code>: send a message from a socket – <a href="OpenBSD" title="OpenBSD">OpenBSD</a> System Calls <a href="Manpage" title="Manpage">Manual</a> (Verschicken von Nachrichten über ein Socket)</li>
<li><code><a rel="nofollow" class="external text" href="https://man.openbsd.org/cgi-bin/man.cgi?query=recvmsg&sec=2">recvmsg(2)</a></code>: receive a message from a socket – <a href="OpenBSD" title="OpenBSD">OpenBSD</a> System Calls <a href="Manpage" title="Manpage">Manual</a> (Empfangen von Nachrichten über ein Socket)</li>
<li><code><a rel="nofollow" class="external text" href="http://manpages.debian.org/cgi-bin/man.cgi?query=cmsg&sektion=&apropos=0">cmsg(3)</a></code>: access ancillary data – <a href="Debian" title="Debian">Debian</a> Linux Programmer's Manual (Senden/Empfangen/Verwalten von Zusatzinformationen)</li>
<li><a rel="nofollow" class="external text" href="http://lists.freebsd.org/pipermail/freebsd-performance/2005-February/001143.html">Vergleich zwischen Unix Domain Sockets und Internet Sockets</a> unter <a href="FreeBSD" title="FreeBSD">FreeBSD</a>, 2005 (englisch)</li>
<li><a rel="nofollow" class="external text" href="https://code.google.com/p/junixsocket/">Unix Domain Sockets für Java</a> (englisch)</li>
<li><a rel="nofollow" class="external text" href="http://untroubled.org/ucspi-unix/">ucspi-unix</a>, Client und Server Implementation von <a rel="nofollow" class="external text" href="http://cr.yp.to/proto/ucspi.txt">UCSPI</a> über UNIX-Domain-Sockets (englisch)</li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2020-06-30" href="https://de.wikipedia.org/wiki/?title=Unix_Domain_Socket&oldid=201438807">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>